package xgenerator.constants;

/**
 * <p>
 * Title:标准SQL的数据类型
 * </p>
 * <p>
 * Copyright:Copyright (c) 2012
 * </p>
 * 
 * @author <a href="mailto:lishushan@gmail.com">liss</a>
 * @version 1.0
 */
public interface SqlDataTypes {
	
	/**
	 * boolean
	 */
	public static final String BIT_TYPE = "BIT";

	/**
	 * byte
	 */
	public static final String TINYINT_TYPE = "TINYINT";
	
	/**
	 * short
	 */
	public static final String SMALLINT_TYPE = "SMALLINT";
	
	/**
	 * integer
	 */
	public static final String INTEGER_TYPE = "INTEGER";
	
	/**
	 * long
	 */
	public static final String BIGINT_TYPE = "BIGINT";
	
	/**
	 * float
	 */
	public static final String FLOAT_TYPE = "FLOAT";
	
	/**
	 * 实数
	 */
	public static final String REAL_TYPE = "REAL";
	
	/**
	 * double
	 */
	public static final String DOUBLE_TYPE = "DOUBLE";
	
	/**
	 * big_decimal
	 */
	public static final String NUMERIC_TYPE = "NUMERIC";
	
	/**
	 * decimal
	 */
	public static final String DECIMAL_TYPE = "DECIMAL";
	

	/**
	 * Boolean——yes_no（CHAR(1)('Y'或'N')）、true_false（CHAR(1)('Y'或'N')）
	 */
	public static final String CHAR_TYPE = "CHAR";

	/**
	 * string
	 */
	public static final String VARCHAR_TYPE = "VARCHAR";
	
	/**
	 * string
	 */
	public static final String LONGVARCHAR_TYPE = "LONGVARCHAR";

	/**
	 * date
	 */
	public static final String DATE_TYPE = "DATE";
	
	/**
	 * time
	 */
	public static final String TIME_TYPE = "TIME";
	
	/**
	 * timestamp、calendar
	 */
	public static final String TIMESTAMP_TYPE = "TIMESTAMP";
	
	/**
	 * binary、serializable
	 */
	public static final String BINARY_TYPE = "BINARY";
	
	/**
	 * binary、serializable
	 */
	public static final String VARBINARY_TYPE = "VARBINARY";
	
	/**
	 * binary、serializable
	 */
	public static final String LONGVARBINARY_TYPE = "LONGVARBINARY";
	
	/**
	 * null
	 */
	public static final String NULL_TYPE = "NULL";
	
	/**
	 * other
	 */
	public static final String OTHER_TYPE = "OTHER";
	
	/**
	 * java object
	 */
	public static final String JAVA_OBJECT_TYPE = "JAVA_OBJECT";
	
	/**
	 * distinct
	 */
	public static final String DISTINCT_TYPE = "DISTINCT";
	
	/**
	 * struct
	 */
	public static final String STRUCT_TYPE = "STRUCT";
	
	/**
	 * array
	 */
	public static final String ARRAY_TYPE = "ARRAY";

	/**
	 * blob、binary、serializable
	 */
	public static final String BLOB_TYPE = "BLOB";
	
	/**
	 * text、clob
	 */
	public static final String CLOB_TYPE = "CLOB";

	/**
	 * ref
	 */
	public static final String REF_TYPE = "REF";
	
	/**
	 * datalink
	 */
	public static final String DATALINK_TYPE = "DATALINK";
	
//	------------------------- JDBC 4.0 -----------------------------------
	/**
	 * BOOLEAN
	 */
	public static final String BOOLEAN_TYPE = "BOOLEAN";
	
	/**
	 * ROWID
	 */
	public static final String ROWID_TYPE = "ROWID";
	
	/**
	 * NCHAR
	 */
	public static final String NCHAR_TYPE = "NCHAR";
	
	/**
	 * NVARCHAR
	 */
	public static final String NVARCHAR_TYPE = "NVARCHAR";
	
	/**
	 * LONGNVARCHAR
	 */
	public static final String LONGNVARCHAR_TYPE = "LONGNVARCHAR";
	
	/**
	 * NCLOB
	 */
	public static final String NCLOB_TYPE = "NCLOB";
	
	/**
	 * SQLXML
	 */
	public static final String SQLXML_TYPE = "SQLXML";
	
}
